package com.peas.platform.module.icims.base.sys.dto;

import java.util.*;

import com.peas.platform.common.core.annotation.Comment;
import com.peas.platform.common.core.dto.BaseDto;
import com.peas.platform.framework.mybatisplus.annotation.Condition;
import com.peas.platform.framework.mybatisplus.annotation.ConditionOperator;
import lombok.Data;
import lombok.EqualsAndHashCode;

// 附件记录
@Data
@EqualsAndHashCode(callSuper = false)
public class AttachmentDto extends BaseDto {

    // 系统
    @Comment(value = "系统")
    @Condition(operator = ConditionOperator.IN)
    private String system;

    // 系统名称
    @Comment(value = "系统名称")
    private String systemName;

    // 服务
    @Comment(value = "服务")
    @Condition(operator = ConditionOperator.IN)
    private String service;

    // 服务名
    @Comment(value = "服务名")
    private String serviceName;

    // 文件类型
    // 字典取值:FileType
    @Comment(value = "文件类型", dictType = "FileType")
    @Condition(operator = ConditionOperator.IN)
    private String fileType;

    // 附件存储名称
    // 以MD5值重新命名
    @Comment(value = "附件存储名称")
    private String fileName;

    // 附件MD5值
    @Comment(value = "附件MD5值")
    @Condition(operator = ConditionOperator.IN)
    private String md5;

    // 附件大小(字节)
    @Comment(value = "附件大小(字节)")
    private Long size;

    // 附件上传人
    // 【用户表】
    @Comment(value = "附件上传人")
    private Long uploader;

    // 附件存储方式
    // local本地存储，minio，oss
    @Comment(value = "附件存储方式")
    @Condition(operator = ConditionOperator.IN)
    private String storage;

    // 附件存储桶
    @Comment(value = "附件存储桶")
    @Condition(operator = ConditionOperator.IN)
    private String bucket;

    // 存储路径
    @Comment(value = "存储路径")
    private String path;

    // 原始文件名
    @Comment(value = "原始文件名")
    private String original;

    // 附件URL
    @Comment(value = "附件URL")
    private String url;

    //Criteria
    private Date createTimeStart;
    private Date createTimeEnd;
    private Date updateTimeStart;
    private Date updateTimeEnd;
}
